package listbyorder.access101_200.test128;

import java.util.HashSet;
import java.util.Set;

/**
 * @author code_yc
 * @version 1.0
 * @date 2020/6/9 22:07
 */
public class Solution1 {

    // 方法一： 自己写的方法
    // 维护一个Set， 遍历set，每次加上1，如果当前集合还存在加上1的元素，就保留
    public int longestConsecutive(int[] nums) {
        if (nums == null || nums.length == 0) return 0;
        int ans = 1;
        Set<Integer> set = new HashSet<>();
        for (int i = 0; i < nums.length; i++) {
            set.add(nums[i]);
        }
        Set<Integer> temp = new HashSet<>();
        while (true) {
            for (Integer num : set) {
                if (set.contains(num + 1)) {
                    temp.add(num + 1);
                }
            }
            if (temp.isEmpty()) {
                break;
            }
            ans++;
            set = new HashSet<>(temp);
            temp.clear();
        }
        return ans;
    }

}
